#pragma once
#include "circular.h"
#include "element.h"

class Source :
	public Circular, public Element
{
private: 
			/*-----Properties-------*/
			Position*	position;
			Texture*	texture;
			Color*		elementColor;
			Color*		lineColor;
			float radius;

public:
			/*----------Constructors------------*/
			Source(void);
			Source(Position *position);
			Source(Position *position,float radius);
			Source(Position *position,float radius,Color * color);
			Source(Position *position,float radius,Texture *texture);

			/*---------Properties Gets&Sets---------*/
			virtual void setPosition(Position *position);
			virtual Position *getPosition();
			virtual Texture *getTexture();
			virtual void setTexture(Texture *texture);
			virtual Color * getElementColor();
			virtual void setElementColor(Color * color);
			virtual Color * getLineColor();
			virtual void setLineColor(Color * color);
			virtual void setRadius(float radius);
			virtual float getRadius();
			virtual float getMinXPos();	
			virtual float getMinYPos();	
			virtual float getMaxXPos();	
			virtual float getMaxYPos();

			/*---------Methods-----------------------*/
			virtual void draw();
public:
	~Source(void);
};
